ASP.Net অ্যাপ্লিকেশনগুলিতে ModelState এবং Validation Summary গুরুত্বপূর্ণ ভূমিকা পালন করে ব্যবহারকারীর ইনপুট যাচাই করতে। এগুলি মূলত Validation প্রক্রিয়ার অংশ, যা নিশ্চিত করে যে ব্যবহারকারীর দেওয়া ডেটা সঠিক এবং নিরাপদ।
ModelState হলো ASP.Net MVC এবং ASP.Net Core MVC এর একটি বিল্ট-ইন ডেটা স্ট্রাকচার যা ফর্ম ডেটার বৈধতা যাচাই করার জন্য ব্যবহৃত হয়। এটি ফর্ম ডেটার উপর প্রযোজ্য সমস্ত ভ্যালিডেশন ফলাফল (যেমন: কোন ইনপুট ফিল্ড ভুলভাবে পূর্ণ করা হয়েছে বা কোনও বাধ্যতামূলক ক্ষেত্র ফাঁকা রাখা হয়েছে) ধারণ করে। এটি একটি ডিকশনারি যা মডেল প্রপার্টির নাম এবং সংশ্লিষ্ট ত্রুটির তালিকা সংরক্ষণ করে।
ModelState সাধারণত কন্ট্রোলারে POST অ্যাকশন মেথডে ব্যবহৃত হয়, যেখানে Model Binding এর মাধ্যমে ক্লায়েন্ট থেকে প্রাপ্ত ইনপুট ভ্যালু Model ক্লাসে মডেল বাইন্ড করা হয় এবং ModelState তে সেগুলোর বৈধতা যাচাই করা হয়।
ধরা যাক, আপনার একটি Product মডেল রয়েছে যা ব্যবহারকারী থেকে ইনপুট নেবে।
public class Product
{
[Required(ErrorMessage = "Product Name is required.")]
public string Name { get; set; }
[Range(1, 10000, ErrorMessage = "Price must be between 1 and 10000.")]
public decimal Price { get; set; }
}
এখন, POST অ্যাকশন মেথডে ModelState যাচাই করুন:
[HttpPost]
public IActionResult Create(Product product)
{
if (ModelState.IsValid)
{
// ডেটা সেভ করুন
return RedirectToAction("Index");
}
// ModelState ত্রুটি থাকলে পুনরায় ফর্মে ফেরত পাঠান
return View(product);
}
এখানে, ModelState.IsValid
চেক করবে যে মডেলটি বৈধ কিনা। যদি না হয়, তাহলে সেই ত্রুটিগুলি ব্যবহারকারীকে দেখানো হবে।
Validation Summary হলো একটি View Helper যা সমস্ত ModelState ত্রুটির তালিকা একটি উপস্থাপনযোগ্য ফরম্যাটে দেখায়। এটি সাধারণত Razor Views এ ব্যবহৃত হয় যাতে ব্যবহারকারীকে সমস্ত ফর্ম ত্রুটি একত্রে দেখানো যায়।
@model Product
<h2>Create Product</h2>
<form method="post">
@if (!ViewData.ModelState.IsValid)
{
<div class="alert alert-danger">
@Html.ValidationSummary(true)
</div>
}
<div>
<label>Product Name</label>
<input type="text" name="Name" />
@Html.ValidationMessageFor(m => m.Name)
</div>
<div>
<label>Price</label>
<input type="number" name="Price" />
@Html.ValidationMessageFor(m => m.Price)
</div>
<button type="submit">Create</button>
</form>
@Html.ValidationSummary(true)
ব্যাখ্যা:true
প্যারামিটার ব্যবহার করলে শুধুমাত্র মোট ত্রুটিগুলি (নির্দিষ্ট ফিল্ড ত্রুটিগুলির পাশাপাশি) শো করবে।@Html.ValidationMessageFor(m => m.Name)
ব্যাখ্যা:ASP.Net MVC বা ASP.Net Core MVC এর সাথে সাধারণভাবে ব্যবহৃত কিছু Validation Attributes:
ModelState এবং Validation Summary ব্যবহার করার মাধ্যমে ASP.Net অ্যাপ্লিকেশনগুলোতে ব্যবহারকারী ইনপুট যাচাই করা সহজ হয়। এটি সঠিক এবং নিরাপদ ডেটা নিশ্চিত করতে সাহায্য করে এবং ত্রুটিগুলি ব্যবহারকারীকে স্পষ্টভাবে দেখানোর সুযোগ দেয়।
Read more